From 2e1e97305f9a917315a22b103d3b5374aefaeaae Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 10 Dec 2010 16:22:06 +0900 Subject: [PATCH] Make GtkTreeView explicitly focus the first cell in the first column when grabbing focus When focus is initially grabbed and there is no focus column, when selecting the first column for focus, further explicitly focus into the first cell using gtk_cell_area_focus(). --- gtk/gtktreeview.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 95550fe143..0eedbad9d2 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -10081,7 +10081,16 @@ gtk_tree_view_focus_to_cursor (GtkTreeView *tree_view) { if (gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (list->data))) { + GtkCellArea *cell_area; + tree_view->priv->focus_column = GTK_TREE_VIEW_COLUMN (list->data); + + /* This happens when the treeview initially grabs focus and there + * is no column in focus, here we explicitly focus into the first cell */ + cell_area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (tree_view->priv->focus_column)); + if (!gtk_cell_area_get_focus_cell (cell_area)) + gtk_cell_area_focus (cell_area, GTK_DIR_RIGHT); + break; } } -- 2.30.2